This invention relates in general to secure data transfers in digital systems and more specifically to a device in such a digital system that has the ability to self-issue certificates in a secure manner.
Public key systems have become a very popular means for providing security in digital systems. Public Key Systems (PKS) have two different keys, one for encryption, or signing, and one for decryption, or verifying. This separation of keys has great security value in that the sign/decrypt function can be securely isolated from verify/encrypt functions, as is appropriate for the typical use of these keys. Public key systems are also known as asymmetric systems, or cryptosystems, as opposed to non-public key systems that are known as symmetric, or secret key, systems.
To send a message in a public key system, a sender obtains the receiver's public key. The sender uses the public key to encrypt a message. The encrypted message is then sent to the receiver. Since only the receiver has the corresponding private key of the public/private key pair, only the intended receiver can decrypt and view the encrypted message.
However, a problem arises in that the sender may not be sure that they have obtained the receiver's correct public key in the first place. For example, a fraudulent public key may have been provided under the guise of the receiver's public key. In order to prevent this, “certificates” are used to generate confidence in the legitimacy of a public key. A certificate is typically the information that is included along with a signed message, where the certificate includes the public key required to verify the signature on the message. The certificate is signed with the certifying authority's private key and can be verified by a recipient of the certificate by using the certifying authority's public key. Of course, the same problem of obtaining the known certifying authority's correct public key in the first place still exists. A sequence of certified public keys can be obtained from sources of progressively higher trust, where each preceding certificate's public key comes from a successively more trustworthy source. At some point, the user of a certificate's public key must be able to trust, or be assured that, the original public key for the chain of certificates does, indeed, come from the proper source and is valid.
The act of user authentication (verification of user identity) usually includes the verification of the user's certificate. Usually the certificate includes the identity of the sender, the identity of the certificate issuer, the sender's public key, the time period for which the certificate is valid, etc.
Sometimes it is necessary to update key pairs by sending new key pairs from one device to another. This procedure can benefit from being validated by certificates, but where the updating occurs frequently the inclusion of certificate processing can put a high processing burden on the participating systems. Also, certificates need to be generated, signed and transferred in order to minimize the effect that a “broken” or “stolen” private key could have on a system. The maintenance of security based on a public key scheme, certificates, authentication, etc., is referred to as a system's Public Key Infrastructure (PKI). An example of telecommunications systems where the implementation of a traditional PKI is problematic or prohibitive is in a large scale digital network, such as the Internet. Where the data being transferred is high bandwidth using many transactions of small size, the number of discrete exchanges of data, along with their corresponding encryption, decryption, authentication, etc., is extremely large. However, the need for security such as is provided by a PKI is also great, especially in applications such as telephony, or other secure data transfers such as banking, etc.
Telecommunications systems that are large and based around flexible protocols such as Internet Protocol (IP) typically use many servers, switches, routers and other devices for transferring data. Each device is usually a discrete box that can use a combination of hardware and software. Many such devices are located in diverse locations many miles apart. It is necessary not only to ensure that communication between the devices remains secure, but also that processing within each device is highly immune from security attacks.
Shorter keys are often useful because their security functions (i.e., encoding/encrypting or decoding/decrypting) require less time than longer keys. However, the level of security provided is less than with longer keys so the shorter keys and certificates need to be replaced more often. If the initial keys and certificates are installed by the unit (e.g. cable telephony adapter) manufacturer while the replacement keys and certificates are transferred from the network service provider, a “dual trust” hierarchy is created that is not as robust as a single trust approach.
Thus, it is desirable to provide a security system for use in telecommunications systems that handles certification efficiently.